package user

import (
	"context"
	pb "git.mycaigou.com/gfyx/micro-gfyx-oppty-service/proto/micro_gfyx_oppty_service_proto/micro-gfyx-oppty-service/base"
)

type LoginServiceIface interface {
	// LoginByPassword 账号密码登录
	LoginByPassword(ctx context.Context, request *pb.LoginByPasswordRequest) (*pb.LoginByPasswordResponse, error)
	// LoginByPhone 验证码登录
	LoginByPhone(ctx context.Context, request *pb.LoginByPhoneRequest) (*pb.LoginByPhoneResponse, error)
	// GetLoginUserInfo 获取登录用户信息
	GetLoginUserInfo(ctx context.Context, request *pb.LoginUserRequest) (*pb.LoginUserInfo, error)
	// LogoutUser 退出登录
	LogoutUser(ctx context.Context, request *pb.LogoutRequest) (*pb.LogoutResponse, error)
	// RefreshLoginToken 刷新用户 token
	RefreshLoginToken(ctx context.Context, request *pb.RefreshTokenRequest) (*pb.RefreshTokenResponse, error)
	// GetResetPasswordToken 获取重置密码 token
	GetResetPasswordToken(ctx context.Context, request *pb.GetResetPasswordTokenRequest) (*pb.GetResetPasswordTokenResponse, error)
	// ResetPasswordByPhone 重设密码
	ResetPasswordByPhone(ctx context.Context, request *pb.ResetPasswordByPhoneRequest) (*pb.ResetPasswordByPhoneResponse, error)
	// Sso 单点登录
	Sso(ctx context.Context, request *pb.SsoRequest) (*pb.SsoResponse, error)
}
